package twentytwenty;

/**
 * @Author: Zahi
 * @Description:
 * @Date Created in 2020-12-15 11:04
 * @Modified By:
 */
public class LongestPalindrome_409 {
    public static void main(String[] args) {

    }

    public static int longestPalindrome(String s){
        // 用于存储s中的每个字符串重复的次数
        int [] arr = new int[128];
        for (int i = 0; i < s.length(); i++) {
            // 遍历s中的每个字符，对应数组中的位置++
            arr[s.charAt(i)]++;
        }
        int result = 0;
        for (int c : arr) {
            // 不管单数还是偶数，最多都有c / 2 * 2
            result += c / 2 * 2;
            // 如果是第一次出现奇数就放到中间，即result++
            if (c % 2 == 1 && result % 2 == 0){
                result++;
            }
        }
        return result;
    }
}
